package com.gitee.wsl.data.pool

import kotlinx.serialization.Serializable

@Serializable
class PoolStats  {
    /**
     * 从缓冲池中获取的次书名
     *
     * @return
     */
    var acquireCount: Long = 0

    /**
     * 使用完毕后放回缓冲池的次数
     *
     * @return
     */
    var releaseCount: Long = 0

    /**
     * 实际创建次数
     *
     * @return
     */
    var createCount: Long = 0

    /**
     * 实际销毁对象的次数
     */
    var destroyCount: Long = 0

    /**
     * 正在等待获取对象的线程数
     *
     * @return
     */
    var waitingCount: Int = 0

    /**
     * 从缓冲池获取到，正在被使用的对象数
     *
     * @return
     */
    var activeCount: Int = 0
    var creatingCount: Int = 0

    /**
     * 缓冲池中没有被使用的空闲对象数
     *
     * @return
     */
    var idleCount: Int = 0

    /**
     * 因为状态不正确或者超时而销毁的次数
     *
     * @return
     */
    var discardCount: Long = 0

    /**
     * 创建对象时失败的次数
     *
     * @return
     */
    var createFailCount: Long = 0

    /**
     * 获取对象失败的次数
     *
     * @return
     */
    var acquireFailCount: Long = 0

    var activePeak: Int = 0
    var activePeakTime: Long = 0

}